Les fondements du RAG
Les grands modèles linguistiques standard (LLM) sont « figés » dans le temps, limités par leur date de fin d'entraînement. Ils ne peuvent pas répondre aux questions concernant le manuel interne de votre entreprise ou une réunion vidéo privée d'hier.Génération augmentée par récupération (RAG)comble cet écart en fournissant au modèle LLM un contexte pertinent extrait de vos propres données privées.
Le workflow en plusieurs étapes
Pour rendre les données privées « lisibles » pour un LLM, nous suivons un processus spécifique :
- Chargement :Conversion de divers formats (PDF, Web, YouTube) en un format de document standard.
- Découpage :Division des documents longs en petits blocs plus faciles à gérer.
- Encodage :Conversion des morceaux de texte en vecteurs numériques (représentations mathématiques du sens).
- Stockage :Sauvegarde de ces vecteurs dans un entrepôt vectoriel (comme Chroma) pour une recherche de similarité ultra-rapide.
Pourquoi le découpage est-il important
Les LLM ont une « fenêtre contextuelle » (limite sur la quantité de texte qu'ils peuvent traiter à la fois). Si vous envoyez un PDF de 100 pages, le modèle échouera. Nous divisons les données en morceaux pour nous assurer que seules les informations les plus pertinentes sont transmises au modèle.
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>
Question 1
Why is
chunk_overlap considered a critical parameter when splitting documents for RAG?Challenge: Preserving Context
Apply your knowledge to a real-world scenario.
You are loading a YouTube transcript for a technical lecture. You notice that the search results are confusing "Lecture 1" content with "Lecture 2."
Task
Which splitter would be best for keeping context like "Section Headers" intact?
Solution:
MarkdownHeaderTextSplitter or RecursiveCharacterTextSplitter. These allow you to maintain document structure in the metadata, helping the retrieval system distinguish between different chapters or lectures.